Because the performance of the satellite-based global positioning system (“GPS”) receiver continues to improve while the receiver size and price continue to decrease, many companies have engaged in developing an assisted GPS solution for mobile phones, or handsets, which requires handset hardware modification. GPS provides an affordable means to determine position, velocity, and time around the globe. The GPS satellite constellation is developed and maintained by the U.S. Department of Defense, but civilian access is guaranteed through an agreement with the Department of Transportation. GPS satellites transmit two carrier frequencies, however, typically only one is used by civilian receivers. From the perspective of these civilian receivers on the ground, GPS satellites transmit at 1575.42 MHz using code-division multiple-access (“CDMA”) technique, which uses a direct-sequence spread-spectrum (“DS-SS”) signal at 1.023 MHz, or 1.023 million chips per second, with a code period of one millisecond (“msec”). Each satellite's DS-SS signal is modulated by a 50 bit-per-second (“bps”) navigation message that includes accurate time and coefficients, or ephemeris, to an equation that describes the satellite's position as a function of time. The receiver position, more precisely, its antenna position, determination is based upon time of arrival measurements, which is based upon measurements of the code phase of each satellite DS-SS signal at a particular measurement epoch.
The four main conventional GPS receiver functions are:    1) Measuring distance from the acquired satellites to the receiver by determining the pseudoranges, or code phases;    2) Extracting the time of arrival of the signal from the contents of the acquired satellite transmitted message;    3) Computing the position of the acquired satellites by evaluating the ephemeris data at the indicated time of arrival;    4) Calculating the position of the receiving antenna and the clock bias of the receiver by using the above data items.
Position errors are affected by any one or any combination of the satellite clock, satellite orbit, ephemeris prediction, ionospheric delay, tropospheric delay, and vary on the order of 5 to 30 meters depending on geometry and atmospheric conditions. Most of the error to single-frequency GPS users is from unmodeled delay variation due to ionospheric bending of the signal as it penetrates the atmosphere.
In addition to the task of shrinking the GPS antenna to fit a typical handset, a traditional autonomous GPS receiver chipset is difficult to embed in the handset for three main reasons. First, its start-up time, which is measured from turning on to the initial position fix, is relatively long due to its long acquisition time of the navigation message, typically at least 30 seconds but up to a few minutes. Second, it is unable to detect weak signals that result from indoor and urban canyon operations as well as small cellular sized antennas. Third, its power dissipation is relatively high per fix, primarily due to the long signal acquisition time in an unaided application. To overcome these problems, the assisted GPS method is used, in which the navigation messages are sent directly to the handset via an over-the-air message exchange with the cellular network as well as satellite signal acquisition aiding.
The basic idea of assisted GPS is to establish a GPS reference network, or a differentially-corrected wide-area GPS network, whose receivers have clear views of the sky and can operate continuously. This reference network is also connected with the cellular infrastructure, and continuously monitors the real-time constellation status and provides precise data such as satellite visibility, estimates of satellite signal Doppler shift due to satellite motion, and even the pseudorandom noise code phase at a particular location on the earth for each satellite at a particular epoch time. At the request of the handset or location-based application, the assist data derived from the GPS reference network are transmitted to the handset GPS sensor to aid fast start-up and to increase the sensor sensitivity by allowing the receiver to focus its search time where the signal is known to be. Acquisition time is reduced because the Doppler versus code phase uncertainty space is much smaller than in conventional GPS due to the fact that the search space has been predicted by the network. This allows for rapid search speed and for a much narrower signal search bandwidth, which enhances sensitivity over a pre-defined finite search time. Once the embedded GPS sensor acquires the available satellite signals, the pseudorange measurements can be delivered to network-based position determination entity (“PDE”), or can be used internally to compute position in the handset.
For classification, when the position is calculated at the network, it is called a network-based handset-assisted GPS solution or MS-Assisted, where MS refers to mobile station, which is also often referred as mobile phone or handset. When the position is calculated at the handset, it is called a network-assisted handset-based GPS solution, or MS-Based solution.
Additional assisted data, such as differential GPS corrections (“DGPS corrections”), approximate handset location or cell base station location, and other information such as the satellite ephemeris data and clock correction can be transmitted to the handset to improve the location accuracy, to decrease acquisition time, and to allow for handset-based position computation. DGPS corrections are created from measurements of the satellite-to-user range errors from a DGPS reference receiver that is located on a precisely known location. The DGPS corrections can then be sent to other mobile stations that are “near” the DGPS reference station, removing most of the tropospheric and ionospheric error sources in the signals, and enabling position solutions in the mobile to accuracy on the order of 1-3 meters. This accuracy is possible because the tropospheric and ionospheric range errors in single-frequency GPS receivers are highly correlated over relatively large local regions, and error measurements at one point are essentially the same at another point, as long as the distance between the two points, the mobile station and DGPS reference station in this example, is on the order of several hundred kilometers.
Other acquisition data sent to the handset may aid the receiver in synchronizing in time with the 50 bps data stream sent from each satellite so that the receiver processor of the handset can use longer coherent integration periods, thus aiding sensitivity. Significant amount of effort has been put into establishing cellular over-the-air standards for assisted GPS technology support in order to guarantee a particular level of performance and to enable correct interoperatability between different handset and network vendors. One example of the cellular over-the-air standard is published by the 3GPP Organizational Partners; specification number 3GPP TS04.31 v8.10.0, titled “3rd Generation Partnership Project, Technical Specification Group GSM/EDGE Radio Access Network, Location Services (LCS), Mobile Station (MS)—Serving Mobile Location Centre (SMLC) Radio Resource LCS Protocol (RRLP), Release 99”.
Several schemes have been proposed in the standards which reduce the number of bits necessary to be exchanged between the handset and the network by using compression techniques such as transmitting only the changes to parameters instead of the raw parameters themselves. Other satellite systems could be used, such as the Russian GLONASS system or future Galileo system. Besides adding a GPS reference network and additional location determination units in the network, the mobile phone must embed, at a minimum, a GPS antenna and RF down converter circuits, as well as a provision for some form of digital signal processing software or dedicated hardware.
Despite the above classification of two assisted GPS solutions, their principles are the same. If the GPS receiver did not know its approximate location, it would not be able to determine the visible satellites, or estimate the range, which is used to predict the code phase, or to estimate Doppler frequency of these satellites. The GPS receiver then would have to search the entire code phase, which spans from 0 to 1023 chips, and frequency space, which spans from −4 kHz to +4 kHz, to locate the visible satellites. The relative movements between the satellites and receiver make the search even more time-consuming. Therefore, the time-to-first-fix (“TTFF”) is one important parameter to evaluate the quality of a receiver. For autonomous GPS, the present state-of-the-art fix-time for an un-initialized GPS sensor is approximately 60 seconds. Clearly, this is unacceptable for certain applications such as E911. By transmitting assistance data over the cellular network, TTFF can be reduced to a few seconds, eliminating the need to demodulate the GPS transmitted signals, for which the data is transmitted at 50 bps for a minimum of 30 seconds to obtain all the satellite orbit coefficients called ephemeris. The search time reduction is achieved by significantly reducing the search window of the code phase and frequency space by sending measurements of these parameters to the handset from the network. The reduction in search space allows the receiver to spend its search time focusing on where the signal is expected to be, which in turn allows it to search at a much narrower bandwidth, hence increasing signal detection sensitivity.
MS-Assisted GPS
The MS-Assisted solution, which is a network-based handset-assisted solution, shifts the majority of the traditional GPS receiver functions to the network processor. This solution requires an antenna, RF section, and digital processor for making measurements by generating replica codes and correlating them with the received GPS signals. The network transmits a very short assistance message to the mobile station, or the handset, consisting of time, visible satellite list, satellite signal Doppler, and code phase, as well as relative or absolute data bit timing in the form of integer code phase and GPS bit number, and also includes code phase search window, which is the width of uncertainty of the code phase search, as well as optional parameters such as satellite elevation and azimuth angle. Integer code phase is an estimate of the number of integer milliseconds between the current time and the time of arrival of the next GPS 50 bps data bit transition and allows the receiver to synchronize with the data bit timing and to coherently integrate for 20 milliseconds (“msec”) without having to search for bit-synchronization. Thus, the integer code phase parameter ranges between zero and 19 msec to cover up to one bit-time of the 50 bps modulated bit stream, each bit taking 20 msec to transmit. GPS bit number indicates the modulo-4 bit number presently being received on the ground, where each bit is numbered from the start of the GPS subframe, each subframe taking 6 seconds or comprising 300 data bits. The data bits are numbered zero to 299, but when the modulo function is applied, the bit-number data collapses to a range of zero to three. The three combined parameters of GPS bit number, integer code phase, and code phase can be combined to compute an estimate of the initial range to the satellite, where the GPS bit number covers some integer number of 20 msec bits propagating through space, the integer code phase covers an integer number of 1 msec time increments of propagation time, and code phase covers a fractional millisecond propagation time. When the three time parameters are added together and multiplied by the speed of light, it produces an estimate of the total range between the user's estimated position and the satellite.
The MS-Assist parameters help the embedded MS-Assisted GPS sensor reduce the GPS acquisition time considerably and directly acquire the signal with minimum search time. These assistance data are valid for a few minutes. The MS-Assisted handset accepts some or all of these parameters, acquires the GPS signals, then returns from the measured pseudorange, in the form of code phase, and Doppler measurements made by the GPS sensor to the network. The network then takes these measurements and computes the position of the MS-Assisted handset.
MS-Based GPS
The MS-Based solution, which is a network-assisted handset-based solution, maintains a fully functional GPS receiver in the handset, in which position is computed locally in the handset. This may be a preferred solution since many applications in the handset may require the position data for applications such as route-guidance, turn-by-turn navigation, etc. This solution requires the same functionality as described in MS-Assisted GPS, but has additional means for computing the positions of the satellites and ultimately the position of the handset. This additional handset function generally requires an increase in the handset's total memory in addition to an increase in the rate of instruction execution, often expresses in million instructions per second (“MIPS”). In the initial start-up scenario, significantly more data in the form of the precise satellite orbital elements, such as ephemeris, or its compressed equivalent, must be provided to the handset compared to the network-based handset-assisted case. In addition to the orbital elements, an approximate position assist is sent to the handset enabling it to predict the satellite Doppler, code phase, and data bit timing for each satellite to minimize the search space and to avoid searching the entire sky for each satellite. Typically, the MS-Based handset receives position of the cellular tower, in which it is communicating with the network, as its initial approximate position. For the case of ephemeris data transmitted to the handset, this data is valid for two to four hours or more and can be updated as necessary over time. Thus, once the handset has the data, subsequent updates are rare. One proposal includes using a broadcast channel to distribute this data efficiently to all handsets in a network. In summary, the MS-Based handset computes position internally, and returns the computed handset position to the network if necessary.
An alternative to using an approximate initial position of the handset delivered to the handset from the network, an MS-Based GPS receiver can use its last-known-fix to estimate satellite acquisition data such as the visible satellite list and corresponding Doppler, code phase, and bit-timing data using almanac or ephemeris data. However, the last-known-fix position may be many thousands of miles away under some circumstances such as an airline traveler carrying the handset in a shirt pocket while traveling. Although a large initial position error may not be fatal in determining the position of the handset, it will slow the detection and acquisition of satellites on the next fix attempt as the error in the initial position translates into a large Doppler, code phase, bit timing, and satellite visibility list error, making it difficult or slow to acquire those visible satellites. To avoid the large initial position error, essentially all cellular systems utilizing MS-Based handsets transmit an approximate position to the MS-Based handset using a position of a base station to which the MS-Based handset is currently registered as the approximate position of the MS-Based handset. The handset then uses the approximate position received from the base station to compute satellite visibilities, Doppler, code phase, and bit timing estimates and uses the approximate position as a “seed” position for a weighted least squares position solution using pseudoranges determined during the acquisition of the visible satellites.